#include <QComboBox>
#include "ParameterGUI.h"

// use boost signals2
#include <boost/signals2/signal.hpp>
#include <boost/function.hpp>

#include <functional>

class ComboBoxGUI : public QComboBox, public ParameterGUI
{
	Q_OBJECT
	typedef void Signature();
	typedef boost::function< Signature > Callback;
public:
	ComboBoxGUI();
	void addEvent( const std::string & eventType, Callback callback );
	std::string getValue();
	void updateValue(std::string str);
	void updateValue(std::vector< std::string> str);
	void clearValue();


private:
	boost::signals2::signal< Signature > change_;
};
